package com.wicket.okrcomponent.integration.dto;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc QueryConfItemMatchEvaTempAnswerDetailComRespDto
 * @使用场景
 */
@Data
public class QueryConfItemMatchEvaTempAnswerDetailComRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 父周期周期类型
   */
  @ApiModelProperty("父周期周期类型")
  private String fatherCycleType;

  /**
   * 周期类型
   */
  @ApiModelProperty("周期类型")
  private String cycleType;

  /**
   * 父周期子周期数量
   */
  @ApiModelProperty("父周期子周期数量")
  private Long fatherSubcycleQuantity;

  /**
   * 中期周期类型
   */
  @ApiModelProperty("中期周期类型")
  private String midCycleType;

  /**
   * 中期子周期数量
   */
  @ApiModelProperty("中期子周期数量")
  private Long midSubcycleQuantity;

  /**
   * 子周期周期类型
   */
  @ApiModelProperty("子周期周期类型")
  private String subcycleType;

  /**
   * 单周期周期类型
   */
  @ApiModelProperty("单周期周期类型")
  private String monocycleCycleType;

  /**
   * 冗余评价模板类型
   */
  @ApiModelProperty("冗余评价模板类型")
  private String evaluationTemplateTypeCode;

  /**
   * 冗余目标规划模板子类型
   */
  @ApiModelProperty("冗余目标规划模板子类型")
  private String targetPlanTempSubtype;

  /**
   * 规划类型 GENERAL_PLANNING:常规规划 THEMATIC_PLANNING:专题规划
   */
  @ApiModelProperty("规划类型")
  private String planningType;

  /**
   * 是否开启中期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启中期")
  private String openMidCycle;

  /**
   * 周期模式 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
   */
  @ApiModelProperty("周期模式")
  private String cycleMode;

  /**
   * 是否开启评价工作 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启评价工作")
  private String isOpenEvaWork;

  /**
   * 五年周期配置标识
   */
  @ApiModelProperty("五年周期配置标识")
  private String fiveYear;

  /**
   * 三年周期配置标识
   */
  @ApiModelProperty("三年周期配置标识")
  private String threeYear;

  /**
   * 年周期配置标识
   */
  @ApiModelProperty("年周期配置标识")
  private String year;

  /**
   * 半年周期配置标识
   */
  @ApiModelProperty("半年周期配置标识")
  private String halfYear;

  /**
   * 季度周期配置标识
   */
  @ApiModelProperty("季度周期配置标识")
  private String quarter;

  /**
   * 双月周期配置标识
   */
  @ApiModelProperty("双月周期配置标识")
  private String doubleMonths;

  /**
   * 月周期配置标识
   */
  @ApiModelProperty("月周期配置标识")
  private String month;

  /**
   * 开启创建业务应用标识
   */
  @ApiModelProperty("开启创建业务应用标识")
  private String openCreateBizAppCode;

  /**
   * 是否开启规划方案类别 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启规划方案类别")
  private String isOpenPlanSchemeClass;

  /**
   * 周期体系类型标识 YEAR:自然年 SCHOOL_YEAR:学年
   */
  @ApiModelProperty("周期体系类型标识")
  private String cycleSystemCode;

  /**
   * 是否开启填报工作 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启填报工作")
  private String isOpenFillWork;

  /**
   * 规划方案类别 MASTER_PLAN:总规划 SUB_PLAN:分规划 LITTLE_PLAN:子规划
   */
  @ApiModelProperty("规划方案类别")
  private String planSchemeClass;

  /**
   * OKR类型 OKR_FREE:不含OKR型 PURE_OKR:纯OKR型 MIXED:混合型
   */
  @ApiModelProperty("OKR类型")
  private String okrType;

  /**
   * 时段计算参照时间
   */
  @ApiModelProperty("时段计算参照时间")
  private Long timeCountReferTime;

  /**
   * 时段规则设置级别 EVA_TEMP_LEVEL:评价模板级 CYCLE_TYPE_LEVEL:周期类型级 UNLIMITED:不限
   */
  @ApiModelProperty("时段规则设置级别")
  private String timeRulesSetLevel;

  /**
   * 填报时段规则标识
   */
  @ApiModelProperty("填报时段规则标识")
  private String fillTimeRulesCode;

  /**
   * 评价时段规则标识
   */
  @ApiModelProperty("评价时段规则标识")
  private String evaTimeRulesCode;

  /**
   * 末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
   */
  @ApiModelProperty("末级周期类型")
  private String lastCycleType;

  /**
   * 指标分工规则 SUBORDINATE_DEPT_BE:不允许混合分工 SUBORDINATE_DEPT_PART_EXIST:允许混合分工
   */
  @ApiModelProperty("指标分工规则")
  private String targetDivRule;

  /**
   * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
   */
  @ApiModelProperty("小数最后一位规则")
  private String decimalDigitsLastRules;

  /**
   * 目标值计算方式 INITIAL_VALUE_COUNT:按起始值计算 TARGET_VALUE_COUNT:按目标值计算
   */
  @ApiModelProperty("目标值计算方式")
  private String targetValueCountType;

  /**
   * 运算符号 GREATER_THAN:大于 LESS_THAN:小于 EQUAL:等于 GREATER_EQUAL_THAN:大于等于 LESS_EQUAL_THAN:小于等于 ALL_NOT_EQUAL:均不低于 ALL_NOT_GREATER:均不高于
   */
  @ApiModelProperty("运算符号")
  private String logicalOperator;

  /**
   * 目标满分制单位
   */
  @ApiModelProperty("目标满分制单位")
  private String targetFullMarkUnit;

  /**
   * 是否开启主观评分 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启主观评分")
  private String isSubjectiveScoring;

  /**
   * 是否开启自定义汇报 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启自定义汇报")
  private String isOpenCustomReport;

  /**
   * 建设任务是否自动汇报 TRUE:是 FALSE:否
   */
  @ApiModelProperty("建设任务是否自动汇报")
  private String constIsOpenAtuoReport;

  /**
   * 建设任务是否开启生成汇报任务 TRUE:是 FALSE:否
   */
  @ApiModelProperty("建设任务是否开启生成汇报任务")
  private String constTaskIsOpenReport;

  /**
   * 增降幅小数点规则
   */
  @ApiModelProperty("增降幅小数点规则")
  private String increasesDropDecimalPoint;

  /**
   * 是否开启生成任务计划结束时间 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启生成任务计划结束时间")
  private String isOpenCreateTaskPlanTime;

  /**
   * 评价模板商业参数
   */
  @ApiModelProperty("评价模板商业参数")
  private String schemeDataPara;

  /**
   * 目标分类目标得分是否开启本级得分 TRUE:是 FALSE:否
   */
  @ApiModelProperty("目标分类目标得分是否开启本级得分")
  private String actualScoreIsOpenLocalLevelScore;

  /**
   * 实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
   */
  @ApiModelProperty("实际值计算类型")
  private String actualUfuncType;

  /**
   * 是否开启过程中期 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启过程中期")
  private String isOpenMidProcess;

  /**
   * 冗余开启OKR场景
   */
  @ApiModelProperty("冗余开启OKR场景")
  private String isOkrPlanScene;

  /**
   * 汇报类型 ARTIFICIAL_REPORT:人工汇报 SEMIAUTOMATIC_REPORT:半自动汇报 AUTO_REPORT:全自动汇报
   */
  @ApiModelProperty("汇报类型")
  private String reportType;

  /**
   * 当前主观得分权重
   */
  @ApiModelProperty("当前主观得分权重")
  private String curSubjectiveScoreWeight;

  /**
   * 过程主观得分权重
   */
  @ApiModelProperty("过程主观得分权重")
  private String processSubjectiveScoreWeight;

  /**
   * 权重分小数点规则
   */
  @ApiModelProperty("权重分小数点规则   ")
  private String weightDecimalPoint;

  /**
   * 权重小数点规则
   */
  @ApiModelProperty("权重小数点规则")
  private String weightPoint;

  /**
   * 主客观得分_主观得分权重
   */
  @ApiModelProperty("主客观得分_主观得分权重")
  private Double subjectiveScoreWeight;

  /**
   * 主客观得分_客观得分权重
   */
  @ApiModelProperty("主客观得分_客观得分权重")
  private Double objectiveScoreWeight;

  /**
   * 本级过程得分_过程中期得分权重
   */
  @ApiModelProperty("本级过程得分_过程中期得分权重")
  private Double processReportScoreProMidWeight;

  /**
   * 本级过程得分_最近平均分权重
   */
  @ApiModelProperty("本级过程得分_最近平均分权重")
  private Double processReportScoreAvgWeight;

  /**
   * 本级过程得分_自身KR得分权重
   */
  @ApiModelProperty("本级过程得分_自身KR得分权重")
  private Double processReportScoreKrWeight;

  /**
   * 11汇报得分_过程汇报得分权重
   */
  @ApiModelProperty("11汇报得分_过程汇报得分权重")
  private Double reportScoreProcessWeight;

  /**
   * 本级过程得分_主客观得分权重
   */
  @ApiModelProperty("本级过程得分_主客观得分权重")
  private Double reportScoreSubAndObjWeight;

  /**
   * 目标得分_本级过程得分权重
   */
  @ApiModelProperty("目标得分_本级过程得分权重")
  private Double actualScoreLocalLevelWeight;

  /**
   * 目标得分_下级目标得分权重
   */
  @ApiModelProperty("目标得分_下级目标得分权重")
  private Double actualScoreLowerLevelWeight;

  /**
   * 本级过程得分_中期目标得分权重
   */
  @ApiModelProperty("本级过程得分_中期目标得分权重")
  private Double processReportScoreMidWeight;

  /**
   * 主观评分满分值
   */
  @ApiModelProperty("主观评分满分值")
  private Long subjectiveRatingTotalValue;

  /**
   * 汇报管理模式菜单
   */
  @ApiModelProperty("汇报管理模式菜单")
  private String reportMgtModelMenus;

  /**
   * 是否开启下级汇报限制 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启下级汇报限制")
  private String isOpenSubReportLimit;

  /**
   * 是否开启主管人工审核 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启主管人工审核")
  private String isOpenAudit;

}
